package com.claimSettlement.service;

import com.claimSettlement.pojo.Justment;
import com.claimSettlement.pojo.LossDetermination;
import com.claimSettlement.pojo.RiskType;
import com.claimSettlement.pojo.Settlement;
import com.github.pagehelper.PageInfo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;
import java.util.Map;

@FeignClient(value = "claims-microservic",path = "/claims")
public interface ClaimsOpenFeginService {
    @RequestMapping("/getSettlement")
    public PageInfo<Settlement> getSettlement(@RequestParam("userId") Integer userId, @RequestParam("page")Integer page);
    @RequestMapping("/insertClaims")
    public Integer insertClaims(@RequestBody Map<String,Object> map);
    @RequestMapping("/updateClaims")
    public Integer updateClaims(@RequestBody Map<String,Object> map);
    @RequestMapping("/deleteClaims")
    public Integer deleteClaims(@RequestBody Integer settlement_number);
    @RequestMapping("/flowState")
    public Integer flowState(@RequestParam("flowId") Integer flowId) ;
    @RequestMapping("/claim_check")
    public Integer claim_check(@RequestParam("settlement_number") Integer settlement_number) ;
    @RequestMapping("/updateClaimCheck")
    public Integer updateClaimCheck(@RequestBody Settlement settlement) ;
    @RequestMapping("/updateFlowState")
    public Integer updateFlowState(@RequestBody Integer flowId) ;
    @RequestMapping("/getSettlementCond")
    public PageInfo<Settlement> getSettlementCond(@RequestParam("userId")Integer userId,@RequestParam("settlement_number") String settlement_number,@RequestParam("warrantyId") String warrantyId,@RequestParam("page")Integer page);
    @RequestMapping("/updateCaseState")
    public Integer updateCaseState(@RequestParam("caseId")Integer caseId) ;
    @RequestMapping("/updateCloseCaseTime")
    public Integer updateCloseCaseTime(@RequestParam("caseId")Integer caseId) ;
    @RequestMapping("/settlementMap")
    public Map<String,Object> settlementMap(@RequestParam("lossId") Integer lossId,@RequestParam("settlement_number")Integer settlement_number,@RequestParam("option") Integer option,@RequestParam("userId")Integer userId);
    @RequestMapping("/getRiskTypeAll")
    public List<RiskType> getRiskTypeAll();
    @RequestMapping("/getSettlementTask")
    public List<LossDetermination> getSettlementTask(@RequestParam("userId")Integer userId);
}
